A. Field of the Invention
This invention generally relates to distributed computer systems and, more particularly, to methods and apparatus for remotely editing property information.
B. Description of the Related Art
Early computer systems and application programs provided their users with simple, text interfaces for entering and displaying information. Such interfaces were normally predefined, and there was little need or capability for a user to customize the interface. Since then, user interfaces and application programs have become increasingly robust and correspondingly complex. For example, many modern computer systems employ graphic user interfaces that contain numerous windows and panels. Also, modern application programs provide a wealth of capabilities, only a fraction of which are used by any one user.
These complex systems and application programs become cumbersome unless users can configure them to suit their needs best. For example, users may wish to customize the color of the graphical desktop or the commands that appear on the toolbar of a word processing application program. This configuration is generally accomplished by using property files that are stored at each user's computer. When a computer is turned on, or when an application program is launched, configuration information is read from the appropriate file(s) to configure the system properly. Although these property files make matters easier for system users, managing them makes matters more complicated for system administrators.
Much of the burden on administrators stems from the fact that they must configure and maintain property files at each of the numerous users' computers. Accordingly, one approach for reducing the burden on system administrators is to employ the concept of network computers. In a network computer system, all necessary files, including property files, are stored centrally on a server and are transferred to the network computers as needed for execution. As a result, the system administrator need only configure and maintain property files at one location, namely the server.
One problem associated with network computer systems arises because network computers typically have neither the capability nor the authorization to alter files at the server, for security reasons. As a result, a system administrator cannot remotely edit property files on a server from a network computer. Instead, the system administrator must directly log into the server and make changes there.
Another problem relates to configuring application programs to take advantage of the different levels of property configuration possible in a network computer system. In such a system, property files can be organized by user, by groups of users, or by network computer. User properties are those that are specific to a particular user, regardless of the network computer on which that user is logged in. Group properties are those that are common to one or more users. Host properties are those that are specific to a network computer, regardless of which user is logged into that computer. System administrators should be able to configure these property files in a manner that is transparent to application programs.
There have been some attempts made to address these problems. The Netra.TM. product from Sun Microsystems Computer Corporation allows system administrators to remotely edit property files by using Common Gateway Interface (CGI) scripts in conjunction with HyperText Markup Language (HTML) forms..sup.1 Although this approach works reasonably well for simple, static configurations, it is cumbersome in situations involving dependencies between property fields. Moreover, this product does not allow system administrators to configure the different levels of property files in a manner that is transparent to application programs. FNT .sup.1 Sun, Sun Microsystems, Sun Microsystems Computer Corporation, JavaSoft, the Sun Logo, Netra, Java Server, Java, and HotJava Views are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
The Java Server product from JavaSoft also allows system administrators to remotely edit property files that reside on a server. This is accomplished by using an applet that interfaces with a servlet using the HyperText Transfer Protocol (HTTP). An applet is a class created by using the Java.TM. programming language. The concept of an applet, and the Java programming language, are described in a text entitled "The Java.TM. Tutorial" by Mary Campione and Kathy Walrath, Addison-Wesley, 1996, the contents of which are hereby incorporated by reference. A servlet is similar to an applet, but it executes at a server. Although the Java Server product is less cumbersome than the Netra product, it also does not allow configuration of different levels of property files in a manner that is transparent to application programs.
There exists, therefore, a need for a solution that allows system administrators to remotely and dynamically edit property files in a network computer environment. Moreover, there is a similar need for a solution that allows system administrators to configure property files in a manner that is transparent to application programs.